mishok13

18 июля 2016, Amsterdam, The Netherlands

# Понедельник 32 твита

Здравствуйте, меня зовут Андрей и я алко... эээ, нет, программист, программист в первую очередь. Программист на Clojure.

8:54

Живу в Амстердаме, но эту неделю там проведу всего три дня. Понедельник и вторник в Риме, на конференции Curry On!

8:54

Так как конференция мне жутко интересна, то наверное первые два дня буду целиком и полностью посвящены именно ей.

8:55

Вкратце о себе: 9 лет в программировании за деньги, но подсел на иглу еще в 1997-ом, на МК-61, найденным в кладовке.

8:57

Окончил физмат лицей при киевском политехе, поступил на факультет информатики и вычислительной техники, еле докарабкался до диплома.

9:00

Где только потом не работал, в 2011-ом переехал в Нидерланды работать на (в тот момент) самую большую социальную сеть, Hyves.

9:00

Когда Facebook полностью подмял под себя весь рынок соцсетей, пошел по стартапам. Первого июля вышел на работу в стартап номер 4, Autheos.

9:02

Компания существует уже 4 года, раньше они просто занимались video content delivery для e-commerce, теперь фокус поменялся.

9:04

Новая цель -- стать THE video analytics platform for e-commerce. Очень амбициозно, под амбиции получили инвестиции, за деньги наняли меня.

9:04

Но это всё лирика, мне надо завтракать и двигать на @curry_on_conf #curryon иначе все места займут.

9:05

Дэвид Нолэн, автор ClojureScript, рассказывает почему языки программирования должны быть для людей. Ну и о Clojure, чего уж там.

10:06

Один из лучших докладчиков которых я видел вживую, кстати. Программист тоже бомбезный. :) Вот клевый доклад от него infoq.com/presentations/…

10:09

Вообще из докладчиков (без привязки к ЯП) я бы выделил David Beazley, Rich Hickey, Gary Bernhardt, Sam Aaron и Philip Wadler.

10:12

Я бы, конечно, поделился ссылками на доклады, но надо ведь и текущий доклад послушать.

10:13
Hey, didya know that all #curryon talks are being live streamed!?
Auditorium Loyola: ventotene.conf.meetecho.com/room1
Foscolo ventotene.conf.meetecho.com/room2

Если кто хочет посмотреть доклады с Curry On! twitter.com/curry_on_conf/…

10:15

There are literally dozens of us, DOZENS! Я как-то среди программистов из В. Европы мало кложуристов вижу, если честно. @korobeynikovmax

10:17

Давид Нолэн показал видео с Figwheel, после которого почти все ClojureScript программисты угорают по live coding youtube.com/watch?v=KZjFVd…

10:38

Обожаю доклады, где я понимаю в лучшем случае 50% терминов. Таким образом я узнаю, что изучать дальше. :)

11:16

Вот например сейчас "bi-abductive symbolic execution" проскочило в докладе о fbinfer.com Надо будет изучить-с.

11:20
@backendsecret Запустил статистику: backendsecret.ru/stats/
11:34

Infer написан на OCaml. Я как-то упустил момент, когда OCaml стал популярным в Facebook.

11:41
@backendsecret а еще flow и тайпчекер для hack на нем написали

Ага, 4 проекта на OCaml в топ-10 от Facebook github.com/trending/ocaml… twitter.com/IamBernik/stat…

12:13

Доклад о Swift от хаскелиста @TacticalGrace. Как-то очень поверхностно, больше на туториал по Swift похоже. :(

12:57

О, текущий докладчик @caitie напомнила о прекрасном: paperswelove.org Регулярные митапы, на которых обсуждаются академические статьи.

14:54
@backendsecret начал угорать по clojure live coding после знакомства с overtone.github.io

О да, overtone это что-то. Особенно если увидеть, как Sam Aaron вживую пишет музыку используя overtone. :) twitter.com/apnekrasov/sta…

15:48
@backendsecret еще хорош вот этот дядька youtu.be/GSGKEy8vHqg (Andrew Sorensen) но у него своя балалайка impromptu.moso.com.au

Ух, круто. Жалко, что мне медведь на ухо наступил, но мега круто. twitter.com/apnekrasov/sta…

15:58

Прямо сейчас на #curryon @sbelak топит за кложуру в дата сайенс. Как бы я не любил кложуру, но Jupyter > Gorilla REPL и Pandas > Incanter.

17:26

С другой стороны, с точки зрения работы с сырыми данными и различными трансформациями threading macros делают мою жизнь намного проще.

17:30

Вообще сила макросов иногда приводит к вот таким вот эээ библиотекам: github.com/rplevy/swiss-a… Эдакий бабай для начинающих учить Clojure.

17:34
@backendsecret github.com/sbelak/huri > Pandas :P

I'll be sure to check it out or maybe even help out. Can't promise anything though. :) twitter.com/sbelak/status/…

19:21

Официальная часть докладов первого дня @curry_on_conf закончена, теперь пьющая часть делегации передвигается на вечеринку.

20:09
Daily ZOMG: the Curry On party is still happening at ancient Roman site. I'm still in disbelief. Look at this! pic.twitter.com/iWvKsRHfau

Вот здесь будет проходить вечеринка. Это археол. музей + последний форум построенный в Риме en.wikipedia.org/wiki/Trajan%27… twitter.com/curry_on_conf/…

20:16

# Вторник 74 твита

По итогам первого дня #curryon я бы сказал, что академики люди странные, но весьма охотно отзываются на просьбы чайников объяснить тонкости.

0:07

Вот например товарищ cs.umd.edu/~jfoster/ уже почти 8 лет пишет type checker для Ruby на основе аннотаций.

0:10

Или же @joergenbr пишущий workflow/dataflow язык github.com/joergen7/cunei…. Такие люди нам нужны, это двигатели прогресса.

0:14

Вот что меня сегодня *реально* удивило, так это то, что никто во время конференции ни слова не обронил о Pokemon Go.

0:17

Кстати, если кому-то нечего делать на этих выходных, можете поучаствовать в hackerrank.com/world-codespri…

0:36
@backendsecret есть ещё commonwl.org или github com/texttheater/produce Полезно, но в реальной жизни пока совсем не встречаются.
8:46

Ларри Уолл сейчас начнет доклад о Perl 6. Perl (и PHP) это язык, от которого меня совершенно мутит, но доклад должен быть мозговыносным.

10:03

Ларри сделал презентацию в Vi. Vi. Презентацию. В 2016. #curryon

10:12
#perl6 code example "@!coords = ^$!height X ^$!width;". I think I'll stick to Clojure thank you. #ohboy #plsno #curryon

Вот как-то вот так вот. twitter.com/mishok13/statu…

10:29

Ларри совершенно упоротый, 11 видов двойных кавычек. Это именно то, чего не хватает нам, программистам, в ежедневной работе. #wtf #curryon

10:49
Ахаха, а все так ждали Perl6.
Welcome to hell. twitter.com/backendsecret/…

Я не знаю, кто ждал Perl6, но я теперь понимаю, почему его разработка продолжается уже 15 лет. twitter.com/remm_roman/sta…

11:17

Facebook переводит все PHP-проекты на Hack, если верить @FrancescoLogozz. Как-то про Hack ничего не было слышно последние пару лет. #curryon

13:11
@backendsecret @FrancescoLogozz зачем, если уже вышел php7, там и типизация и производительность подтянута

Hack язык с gradual typing, я не считаю корректным сравнение с PHP 7 в данном случае. twitter.com/PliskoVS/statu…

13:30
. @namiazad and I are going to try to demystify #CRDTs yet again at #CurryOn . Live streaming starts at 13:50 UTC+1: ventotene.conf.meetecho.com/room1/

Очень интересный доклад о CRDT. Ребята из TomTom рассказывают о том, как они решили проблему синхронизации данных. twitter.com/idajantis/stat…

15:12

Что-то я крепко подгрузился от последнего доклада про TensorFlow. Попробую-ка я отвлечься.

17:16

Ребзя, как вы вообще к лиспам и прочим односкобочным организмам относитесь?

17:20
@backendsecret плохо

Логичный вопрос -- почему? twitter.com/mtreskin/statu…

17:21

И совершенно в другую сторону, Google работает над процессором заточенным под TensorFlow cloudplatform.googleblog.com/2016/05/Google… :|

17:31

В первый раз за сегодня один модуль таки прошел все тесты. Commit, push, скрестить пальцы и ждать ответа от travis. pic.twitter.com/KOYLG0d2Su

17:35
@backendsecret нет, просто код читать неудобно

Иллюстрация: loper-os.org/wp-content/par… twitter.com/mtreskin/statu…

17:38

"Works on my machine!" by @mishok13, 2016, pixels on screen, attributed to Travis CI. pic.twitter.com/212exHrzmn

18:00

В рамках доклада о кибербезопасноти различные интересности упомянули, помимо того же Rust (который вам всем надо выучить прямо сейчас).

18:13

Например Taint Mode в Perl: perldoc.perl.org/perlsec.html#T…

18:13

Или Checked C от Microsoft github.com/Microsoft/chec…

18:15

Продолжаю поток мысли о всем подряд, примеры различных CRDT (Ruby) github.com/aphyr/meangirls

18:23

Автор meangirls, @aphyr ведет отличный блог о распределенных системах, например: aphyr.com/tags/jepsen

18:23

И он же написал замечательную тулзу для тестирования систем в условиях network partitions github.com/aphyr/jepsen

18:26
@nwalkr @backendsecret ерланг хотя бы структуру регулярную имеет, а не вот это вот всё

По-моему, регулярнее лиспоподобных ЯП вообще тяжело что-то придумать. :) twitter.com/mtreskin/statu…

18:31
@backendsecret а в лиспе ценные рантаймы есть? Или там вот это вот всё со скобками исключительно ради самих скобок?

JVM вроде ценный рантайм. twitter.com/mtreskin/statu…

18:38
@backendsecret а в лиспе ценные рантаймы есть? Или там вот это вот всё со скобками исключительно ради самих скобок?

ClojureScript тоже вроде на ценном рантайме бегает. twitter.com/mtreskin/statu…

18:40
@backendsecret для jvm помимо кложури есть ещё скала, груви, котлин, ну и сама джава относительно неплохая

Ну я уже понял, что у тебя есть определенная фобия скобок. Вкус, цвет, фломастеры, всё такое. :) twitter.com/mtreskin/statu…

18:41
@backendsecret для jvm помимо кложури есть ещё скала, груви, котлин, ну и сама джава относительно неплохая

Сравнивать статически типизированые языки с Clojure это 5/7 perfect score. twitter.com/mtreskin/statu…

18:47

@backendsecret Ну кроме Groovy, который почти не двигается в развитии. :(

18:48
@backendsecret а в лиспе ценные рантаймы есть? Или там вот это вот всё со скобками исключительно ради самих скобок?
18:51
@backendsecret разговор-то как раз о другом: на ерланге принуждал писать рантайм BEAM, а на кложури никто не принуждает, выбор шире.
18:52
@mtreskin @backendsecret я бы из всего этого списка оставил только котлин. груви труп, скала для любителей моноидов, джава просто мерзкая.
18:52
@mtreskin @backendsecret относительно э-га, разве что. сам язык - неконсистентный, кривой в местах типа "не наш кодстайл".
18:53

Остался один доклад, боюсь, что после этого всё на что я буду способен это взять пиццу и бутылку вина с собой и уснуть в отеле.

19:26

#curryon в целом был замечателен, если вам интересны темы связанные с разработкой ЯП -- must see.

19:28

Что вообще читатели хотят узнать о Clojure? Или может быть об Emacs, Python, distributed systems? Не то чтобы я большой специалист, конечно.

19:34

К примеру в надвигающемся релизе Clojure 1.9 появится gradual typing через clojure.spec: clojure.org/about/spec

19:37
@backendsecret а были какие-нибудь cool/success story с clojure? все любят такие истории.

Собственные или чьи-то другие? Если второе -- MailOnline полностью на Clojure написан. В Zalando есть Clojure. twitter.com/nwalkr/status/…

19:57
@backendsecret об эмаксе/distibuted systems - про эмакс, может примеры собственный кастомизаций итд

Вот моя конфигурация github.com/mishok13/emacs… В целом я большой фанат подхода Emacs bankruptcy. twitter.com/ErrorSoul/stat…

20:00

@backendsecret @ErrorSoul Не знаю, насколько термин знаком. :) Вкратце -- раз в год-два я начинаю конфигурацию имакса с абсолютного нуля.

20:02

@backendsecret @ErrorSoul Это позволяет периодически переосмыслить подход к конфигурации и спокойной использовать новые пакеты.

20:03
@backendsecret ок, thx - а сами писали какие нить аддоны для эмакса?

Маленькие minor modes да, писал. Пытался написать один major mode для Jira лет семь тому назад, но так и не осилил. twitter.com/ErrorSoul/stat…

20:06
@backendsecret как лучше всего и безболезненно пересесть на emacs совсем? Секреты,хитрости,магию хочется услышать

Если есть такой вопрос, то лучше не стоит себя заставлять, это путь к разочарованию. :) twitter.com/AsPecherkin/st…

20:08
@backendsecret как лучше всего и безболезненно пересесть на emacs совсем? Секреты,хитрости,магию хочется услышать

Магии вообще нету, захотел выучить Emacs, сел и заставил себя (12 лет назад). Втянулся, не могу бросить. :( twitter.com/AsPecherkin/st…

20:09
@backendsecret ну и да, можешь еще рассказать, как ты вообще докатился до разработки на лиспе, что сейчас делаете, в чем профит от лиспа.

Первый проф. опыт с кложурой получил в компании Screen6, где надо было делать аналитику по rtb в real-time режиме. twitter.com/nwalkr/status/…

20:11

@backendsecret @nwalkr Был выбор между Storm+Cascalog, Spark/Shark и Metamarkets Druid. Последние два были слишком сырыми в тот момент.

20:12

@backendsecret @nwalkr Так как я был первым сотрудником в компании, и CTO тоже склонялся к Storm, то выбор был очевиден.

20:14

Товарищи, в связи со смертью батареи, ответы на остальные вопросы вынуждены будут подождать до 10 часов вечера по Римскому времени.

20:15
@strizhechenko @backendsecret Пуфон говно!!!!11

Жабоскрипт сасёт!!11 twitter.com/webholt/status…

23:07
@webholt @backendsecret есть вещи которые на некоторых других языках есть возможность еще хуже написать!

Ну вот да! Например, не представляю себе датасаенс на JS или плюсах. :) twitter.com/strizhechenko/…

23:08
@backendsecret про python послушал бы чего-нибудь странного и непривычного

Из странного -- я немного помог портировать pyprocessing в Python 2.6/3.0 в 2007-ом году. Помогал @jessenoller twitter.com/strizhechenko/…

23:10

@backendsecret @strizhechenko Еще проводил tutorial на PyCon US 2011, доклады на Europython 2011 и 2012.

23:11

@backendsecret @strizhechenko Тыкал палочкой в страшный проект на джанге, с более чем 400 моделек и более 500kloc говнокода.

23:12

.@strizhechenko При этом это было в прошлом году, до этого Django вообще не приходилось трогать.

23:14

.@strizhechenko Меня в питоне всегда пер их сишный код, вот например сортировка github.com/python/cpython… + дока github.com/python/cpython…

23:20
@backendsecret благодарю - а вопрос есть, увидел у вас раст - сам его пробовал, но интересно ваше мнение - не слишком ли сложный инструмент?

Rust меня очень интересует с точки зрения замены плюсов. ЯП сложный, порог вхождения высокий, но мне нравится. twitter.com/ErrorSoul/stat…

23:22

.@strizhechenko Ну и процесс эволюции языка один из лучших, все предложения/RFC публичны и доступны здесь: python.org/dev/peps/

23:23

.@webholt Подвёл, извини. :( i.imgur.com/bmwvmRF.gif

23:29

В первый я его щупал еще в версии 0.8, тогда еще шла речь о конкуренции с golang и не было возможности отключить "gc".

23:31

"gc" в кавычках, ибо это был обычный reference counting. Потом внезапно один из разрабов понял, что gc не нужен pcwalton.github.io/blog/2013/06/0…

23:36

Хм, погоди, блогпост как раз перед релизом 0.8. Возможно я начал с 0.7, потому что помню засилие "@", "~" и "do ||".

23:37

Это детали. Главное для меня -- язык позволяет писать безопасный низкоуровневый код. Вот уже год пописываю на досуге торрент клиент для RPi.

23:38

На RPi вообще критично с памятью, поэтому запускать питон, а уж тем более кложуру там противопоказано. :)

23:39

А если смотреть на большое, доброе, вечное -- возможно Firefox перепишут на Rust и в нем больше не будет дырок и он будет быстрым. ХАХАХА.:(

23:40
@backendsecret а почему не Vim? ;-)

¡¿Por que no los dos?! emacswiki.org/emacs/Evil :) twitter.com/vkryukov76/sta…

23:44
@backendsecret можно ли в emacs отлаживать код (питон или любое другое) как в IDE: c шагами, watchами и брейкпойнтами? Или на практике не?

У имакса от языка к языку все меняется. Для питона хватало pdb и интерактивной консольки, но это далеко не ipdb. twitter.com/a_kokuev/statu…

23:47

. @a_kokuev gdb отлично интегрируется. Поддержка Java отвратительна (но есть же IDEA!). В кложуре все очень неплохо, при этом.

23:50
@backendsecret Хотелось бы услышать каково это писать, рефакторить и поддерживать боле менее большие проекты на Clojure.

Из моего опыта могу сказать, что разницы между большими проектами я не вижу вне зависимости от выбранного ЯП. twitter.com/solverit/statu…

23:51

# Среда 30 твитов

@backendsecret какие распределенные системы писал/использовал?

Даже если чисто на хранение смотреть, то по работе применял Druid, MongoDB, Riak, CouchDB, Cassandra, Redis Cluster. twitter.com/volyx/status/7…

0:00

.@solverit А, в Clojure полезно заранее решить, будут ли использоваться stuartsierra/component иначе потом будет мучительно больно.

0:02

.@volyx Ну и RabbitMQ, Kafka, ElasticSearch, проприетарная система основанная на MySQL (HandlerSocket), Storm, Onyx.

0:04
@backendsecret Порог вхождения выше, чем в плюсах? Или просто высок для быстрого переключения?

Мне кажется, что ниже, чем в плюсах. Но только за счет консолидированной платформы (в сравнении с плюсами). twitter.com/webholt/status…

0:07

.@webholt в целом же в плюсах можно долгое время игнорировать по настоящему сложные вещи, Ruts весь такой IN YOUR FACE.

0:08

.@ErrorSoul Это очень специфическая технология, во многом проще плюсов, на рынок которых она и замахнулась.

0:08

.@IamBernik да, точно, спасибо. Пнул одного из разработчиков по этому поводу.

0:10

.@IamBernik гг, я после общения с академиками из INFRIA как-то не очень переживаю насчет static-typing-nazis.

0:11

.@IamBernik работа есть, но компании в основном поменьше. +есть конторы, пишущие софт под заказ, на кложуре. В общем, жаловаться не на что.

0:15

.@muttnikus лапши можно избежать, если в команде все на одной волне. Шутка. Я вот все никак до github.com/puppetlabs/tra… не доберусь.

0:18

.@a_kokuev ноу проблемо, обращайся, помогу чем смогу (а могу я почти ничего).

0:19

.@a_kokuev Я бы советовал избегать оф. мануала, пользоваться emacswiki.org/#toc2 и reddit.com/r/emacs там все добрые и пушистые

0:20

.@solverit с рефакторингом я проблем почти не испытываю, тут все таки лиспичность дает о себе знать. В имаксе есть github.com/clojure-emacs/…

0:21

.@solverit Опять таки, все упирается в способность команды писать удобоваримый код и подстригать techdebt регулярно а не раз в квартал.

0:22

.@IamBernik личные связи + clojurians.slack.com К сожалению, мы изза пределов ЕС сейчас не нанимаем (я в Амстердаме уже давно, мне проще)

0:23

.@IamBernik внезапно вспомнилось: недавно проскакивала Clojure-вакансия на Канарских Островах. :)

0:34

.@IamBernik Всегда есть Берлин, там из больших компаний вот Zalando нанимает.

0:37
@backendsecret @IamBernik а можно поподробнее? что за INFRIA? я что-то ничего вменяемого не нагуглил.

Очепятался, INRIA, создатели OCaml. Они достаточно много академ. работ по системам типов написали (и продолжают). twitter.com/ftk_ildar/stat…

10:20

.@volyx Тут конечно смешно, но большая часть этих систем была выбрана с моим участием. Сейчас исключил бы монгу и сторм.

10:21

.@nwalkr @solverit Еще не добрался, надо будет опробовать. Выглядит перспективно, на mailing list народ позитивно отзывался.

10:23
А кто что использует вместо jira? @backendsecret RT plz

Trello для проектов поменьше неплох. Pivotal и Target Process меня не радуют. twitter.com/ctrlok/status/…

14:46

.@snejink @volyx монга - хорошо разрекламированый плохой продукт aphyr.com/posts/322-jeps… aphyr.com/posts/284-jeps… Riak, Redis, да что угодно.

14:57

.@volyx @snejink druid.io достаточно специфичная тулза, чем-то ближе к RedShift, но с (почти) реал-таймом.

15:13
@backendsecret @ctrlok Trello, когда в нем больше пары десятков карточек, тоже не очень радует. Используем YouTrack
15:13
@backendsecret Redmine пока устраивает
15:45
@rhamdeew @backendsecret plan.io на основе redmine . тем более на нём хостятся баги и доки для pulp и katello
15:53

.@ftk_ildar Вот тебе летающая кложура youtube.com/watch?v=iUC7no…

18:17

.@ftk_ildar Если чуть серьезнее, то вот неполный список компаний, использующих кложуру clojure.org/community/comp…

18:19

.@ftk_ildar В Амстердаме, Лондоне, Берлине -- отнюдь не единичны. Мне тяжело судить о заграницах.

18:32

# Четверг 10 твитов

лямбда фрикам в руку @backendsecret twitter.com/functionaljobs…
0:38

Вчерашний день оказался совершенно смазан в плане работы. Зато посетил (возможно) наш будущий офис, @TQams tqams.com

10:33

Офис создается при поддержке Google, Booking, ABN AMRO и TNW и ориентирован на стартапы с большим потенциалом и количеством сотрудников <50.

10:44

При этом стартапы проходят отбор на "резиденство", так что это не совсем офис в привычном понимании слова.

10:45

Генетическое программирование с clojure.spec gigasquidsoftware.com/blog/2016/07/1… by @gigasquid

12:11

Теперь можно учить vim с помощью гифок :D vimgifs.com

12:49

с другой стороны, большая часть этих гифок очень короткие, что немного решает проблему отсутствия прокрутки :) @strizhechenko

12:56

Добротное объяснение работы JIT в Java 8 на достаточно простом примере blog.jooq.org/2016/07/19/the…

17:50

TFW приходится делать ALTER SEQUENCE ... RESTART WITH 2 перед каждым тестом иначе всё идет по автобану прямиком в ад i.imgur.com/Z4q94CA.mp4

19:53

# Пятница 10 твитов

Я бы скорее спросил изначально, почему storm? Какую проблему решает? Исходя из этого можно ответить что и почему вместо. @tru_pablo @volyx

2:42

Все хорошо в RedShift, кроме того, что каждая миграция требует танцев с бубном и человеческих жертвоприношений.

12:35

Сейчас есть возможность опробовать AWS Database Migration Service для нужд миграции. Достаточно свежий сервис aws.amazon.com/blogs/aws/aws-…

12:39

Немного лирики о Emacs: лучший git клиент именно в этом редакторе. Называется Magit и он прекрасен: magit.vc

12:50

Писали аналитику для rtb платформ, надо было по несколько десятков тысяч событий обрабатывать в течении милисекунд @volyx @tru_pablo

16:20

В итоге отказались, потому как оказался непредсказуемым и нестабильным. Написали свой Storm "на диете" :) @volyx @tru_pablo

16:22

У нас элементарно не хватает рук поддерживать установку Greenplum. Будь у нас куча времени и денег, мы бы обязательно обсудили это @Timrael

16:26

Stack Overflow пытается поменять подход к технической документации blog.stackoverflow.com/2016/07/introd… Немного напоминает документацию PHP

16:34

У нас никаких проблем не возникло, у нас нету времени заморачиваться с установкой и поддержкой @Timrael

17:08

Для визуализации Periscope в данный момент, но альтернативы рассматриваем @Timrael

17:09

# Воскресенье 1 твит

Ребята взломали Pornhub (заодно и PHP) evonide.com/how-we-broke-p… Очень детально описано, рекоммендую к прочтению.

12:58

github.com

other